
#include "ncurses.h"

void boucleNcurses(Jeu * jeu)
{
	int nbrJ, continuejeu, c, i, gCase, des;

	/*Initialisation de la fênetre*/
	WINDOW *win = initscr();
	/*Initialisation CDK*/
	CDKSCREEN *cdkscreen = initCDKScreen(win);
	/*Initialisation des couleurs CDK*/
	initCDKColor();
	/*Initialisation des couleurs ncurses*/
	start_color();
	/*Curseur invisible*/
	curs_set(0);
	/*Activation clavier*/
	keypad(win, TRUE);
	/*Empêche l'affichage des caractères tapés au clavier*/
	noecho();

	/*Couleur du pion*/
	init_pair(1, COLOR_GREEN, COLOR_BLACK);
	init_pair(2, COLOR_YELLOW, COLOR_BLACK);
	init_pair(3, COLOR_BLUE, COLOR_BLACK);
	/*Couleur du plateau*/
	init_pair(5, COLOR_WHITE, COLOR_BLACK);
	init_pair(4, COLOR_RED, COLOR_BLACK);
	/*Couleur Titre et Score*/
	init_pair(6, COLOR_CYAN, COLOR_BLACK);

	refresh();
	nbrJ = affMenu(cdkscreen);  
	
	/*Initialise le jeu et ses modules, et repartit les questions sur les cases*/
	remplirJeu(jeu,nbrJ);
	clear();

	/*continuejeu reste à 1 tant que le/les joueur(s) n'ont pas appuyé sur echap ou gagné*/
	refresh();
	continuejeu = 1;
	mvprintw(4,1,"Vous etes %d joueurs, appuyez sur une touche pour commencer",nbrJ);
	affScore(jeu);
	getch();
	do
	{
		for(i=0;i<jeu->nbrJ;i++)
		{
			if(continuejeu == 1)
			{
				if(get_etat(getJoueur(jeu,i)) == 1)
				{
					attron(COLOR_PAIR(i+1));
					clear();
					mvprintw(6,1,"(touche ECHAP pour quitter)");
					mvprintw(2,1,"A vous joueur %d", i+1);
					mvprintw(3,1,"Apppuyer sur la touche D pour lancer le dès");
					affScore(jeu);

					/*Si le joueur a une carte bonus pour lancer deux dés*/
					c = testDeuxDes(cdkscreen, jeu, i);
					
					continuejeu = verifQuitterPartie(cdkscreen,c);

					if(continuejeu == 1)
					{
						des = joueurUnTour(jeu,i);
						gCase = getTypeCase (get_case(jeu->plat,get_position(getJoueur(jeu,i))));

						clear();
						affScore(jeu);

						attron(COLOR_PAIR(i+1));
						mvprintw(3,1,"Vous avez fait %d",des);
						switch(gCase)
						{
							case 0:
								affQuestion(cdkscreen,jeu,get_position(getJoueur(jeu,i)),i);
								break;
							case 1:
								affCarte(cdkscreen,jeu,i);
								break;
							case 2:
								affBonus(cdkscreen,jeu,i);
								break;
							case 3:
								continuejeu = affBilan(jeu,i);
								break;
						}
					}
				}
				else
				{
					attron(COLOR_PAIR(i+1));
					wclear(win);
					mvprintw(2,1,"Joueur %d", i+1);
					mvprintw(3,1,"Passe ton tour!!");
					set_etat(getJoueur(jeu,i),1);
					affScore(jeu);
					getch();
				}
			}
		}
	}while(continuejeu == 1);

	jeuLibere(jeu);

	wrefresh(win);
	destroyCDKScreen(cdkscreen);
	endCDK();
	delwin(win);
	endwin();
}

int affBilan(Jeu * jeu, const int numJ)
{
	int finjeu = testFinJeu(jeu);
	if(finjeu == 0)
	{
		attron(COLOR_PAIR(numJ+1));
		mvprintw(5,1,"FELICITATION!! JOUEUR %d A GAGNE!!",numJ+1);
		refresh();
		getch();
		return 0;
	}
	else
	{
		attron(COLOR_PAIR(numJ+1));
		set_position(getJoueur(jeu,numJ),0);
		mvprintw(5,1,"Joueur %d, tu n'as pas assez de crédit, recommence!!",numJ+1);
		refresh();
		getch();
		return 1;
	}
}

void affBonus(CDKSCREEN * cdkscreen, Jeu * jeu, const int numJ)
{
	/*Initialisation des variables*/
	int numB;
	char *carte[3];
	Carte * C = creerCarte();
	int bonus = get_position(getJoueur(jeu,numJ));

	/*Initialisation CDK*/
	CDKLABEL *macarte;

	attron(COLOR_PAIR(numJ+1));
	switch(bonus)
	{
		case 9:
			mvprintw(4,1,"Vous etes au RU");
			numB = 2;
			break;
		case 15:
			mvprintw(4,1,"Vous etes à la BU");
			numB = rand()%(2-0) +0;
			break;
		case 21:
			mvprintw(4,1,"Vous etes au Cyber");
			numB = rand()%(5-3) +3;
			break;
		case 33:
			mvprintw(4,1,"Vous etes un tricheur!");
			numB = rand()%(7-5) +5;
			break;
	}

	mvprintw(5,1,"Appuyez sur une touche pour voir les conséquences...");
	refresh();
	getch();
	clear();

	copieCarte(C, get_triche(jeu->bo,numB));

	carte[0] = (char*)malloc(64*sizeof(char));
	sprintf(carte[0], "<C></B>%s<!B>", getNomCarte(C));
	carte[1] = " ";
	carte[2] = (char*)malloc(128*sizeof(char));
	sprintf(carte[2], "<C>%s", getDefinitionCarte(C));

	/*Affichage carte*/
	macarte = newCDKLabel(cdkscreen,LEFT,BOTTOM,carte,3,TRUE,FALSE);
	refreshCDKScreen (cdkscreen);
	affScore(jeu);
	getch();

	consequenceCarteJoueur(C,getJoueur(jeu,numJ));

	detruireCarte(&C);
	destroyCDKLabel(macarte);
	free(carte[0]);
	free(carte[2]);
}

void affCarte(CDKSCREEN * cdkscreen, Jeu * jeu, const int numJ)
{
	/*Initialisation des variables*/
	char *carte[3];
	Carte * c = creerCarte();

	/*Initialisation CDK*/
	CDKLABEL *macarte;

	/*Recupération de la carte*/
	retourneTetePioche(jeu->pio,c);
	defilerRenfilerCarte(jeu->pio);

	carte[0] = (char*)malloc(64*sizeof(char));
	sprintf(carte[0], "<C></B>%s<!B>", getNomCarte(c));
	carte[1] = " ";
	carte[2] = (char*)malloc(128*sizeof(char));
	sprintf(carte[2], "<C>%s", getDefinitionCarte(c));

	attron(COLOR_PAIR(numJ+1));
	mvprintw(4,1,"Vous etes sur une case pioche");
	mvprintw(5,1,"Appuyez sur une touche pour afficher la carte...");
	refresh();
	getch();
	clear();

	/*Affichage carte*/
	macarte = newCDKLabel(cdkscreen,LEFT,BOTTOM,carte,3,TRUE,FALSE);
	refreshCDKScreen (cdkscreen);
	affScore(jeu);
	getch();

	destroyCDKLabel(macarte);

	consequenceCarteJoueur(c,getJoueur(jeu,numJ));
	/*S'il avance ou recule sur une case type question, elle s'affiche*/
	if(getTypeCase (get_case(jeu->plat,get_position(getJoueur(jeu,numJ)))) == 0)
	{
		affScore(jeu);
		affQuestion(cdkscreen,jeu,get_position(getJoueur(jeu,numJ)),numJ);
	}
	free(carte[0]);
	free(carte[2]);
	detruireCarte(&c);
}

void repQuestion(CDKSCREEN *cdkscreen, Jeu * jeu, const int numC, const int numJ)
{
	/*Initialisation des variables*/
	int choix, i, compteur;
	int nbrB = retourneBonusQuestions(get_bonus_joueur(getJoueur(jeu,numJ)));
	char comp[64];
	char *list[4+nbrB];
	char *bonus[2];

	char *quest2 = (char*)malloc(64*sizeof(char));
	char *quest = (char*)malloc(64*sizeof(char));
	strcpy(quest,getQuest(getActionCase(get_case(jeu->plat,numC))));

	/*Initialisation CDK*/
	CDKSCROLL *liste;
	CDKLABEL *monlabel;

	/*Recupération de la Question/Réponses*/
	repAlea(getActionCase(get_case(jeu->plat,numC)),list);
	sprintf(quest2, "<I=5>%s", quest);

	attron(COLOR_PAIR(numJ+1));
	mvprintw(4,1,"Vous etes sur une case exam");
	mvprintw(5,1,"Appuyez sur une touche pour afficher la question...");
	affScore(jeu);
	getch();
	clear();

	/*Affiche bonus*/
	if(nbrB > 0)
	{
		bonus[0] = "Vous pouvez choisir un bonus";
		bonus[1] = "  (cf. sous les réponses)   ";
		monlabel = newCDKLabel(cdkscreen,RIGHT,BOTTOM,bonus,2,TRUE,FALSE);
		compteur = 0;
		for(i=0;i<getNbrBonus(get_bonus_joueur(getJoueur(jeu,numJ)));i++)
		{
			if(getGenreCarte(get_triche(get_bonus_joueur(getJoueur(jeu,numJ)),i)) == 6)
        		{
            			list[4+compteur] = getNomCarte(get_triche(get_bonus_joueur(getJoueur(jeu,numJ)),i));
				compteur++;
			}
        	}
	}
	/*Affichage choix réponse (et bonus)*/
	liste = newCDKScroll (cdkscreen,CENTER,CENTER,RIGHT,7,50,quest2,list,4+nbrB,FALSE,A_REVERSE,TRUE,TRUE);
	refreshCDKScreen (cdkscreen);
	affScore(jeu);
	
	while(liste->exitType != vNORMAL)
	{
		choix = activateCDKScroll (liste, 0);
	}
	/*On recopie la réponse sélectionnée*/
	strcpy(comp,list[choix]);

	if(choix < 4)
	{
		/*On la compare à la réponse juste, si c'est la même, on rajoute un point au joueur*/
		if(strcmp(comp,getRepJuste(getActionCase(get_case(jeu->plat,numC)))) == 0)
		{
			choix = get_score(getJoueur(jeu,numJ));
			choix++;
			set_score(getJoueur(jeu,numJ),choix);
			setValideCase(get_case(jeu->plat,numC), numJ, 1);
		}
	}
	else
	{
		i = get_postriche (get_bonus_joueur(getJoueur(jeu,numJ)),comp);
		supp_triche(get_bonus_joueur(getJoueur(jeu,numJ)),i);
		choix = get_score(getJoueur(jeu,numJ));
		choix++;
		set_score(getJoueur(jeu,numJ),choix);
	}

	destroyCDKLabel (monlabel);
	destroyCDKScroll (liste);
	free(quest2);
	free(quest);
}

void affQuestion(CDKSCREEN *cdkscreen, Jeu * jeu, const int numC, const int numJ)
{
	/*Initialisation des variables*/
	int c;
	bool rep = getValideCase (get_case(jeu->plat,numC), numJ);
	if(rep == 0)
	{
		repQuestion(cdkscreen,jeu,numC,numJ);
	}
	else
	{
		attron(COLOR_PAIR(numJ+1));
		mvprintw(3,1,"Vous etes sur une case exam");
		mvprintw(4,1,"Mais vous avez déjà validé cette question... Relance le dès");
		c = testDeuxDes(cdkscreen,jeu,numJ);
		c = joueurUnTour(jeu,numJ);
		refresh();
		clear();
		attron(COLOR_PAIR(numJ+1));
		mvprintw(4,1,"Vous avez fait %d, appuyez sur une touche...",c);
		affScore(jeu);
		getch();
	}
}

void affScore(const Jeu * jeu)
{
	/*Définitions des variables*/
	int i,col;

	/*Récupération des dimensions du terminal*/
	getmaxyx(stdscr,i,col);

	affPlateau2();

	attron(COLOR_PAIR(6));
	mvprintw(1,col/2-12,"***STUDENT SURVIVOR***");
	mvprintw(1,col-12,"Score :");
	
	for(i=0;i<jeu->nbrJ;i++)
	{
		/*Affichage score du pion*/
		attron(COLOR_PAIR(i+1));
		mvprintw(2+i,col-15,"Joueur %d : %d",i+1,get_score(getJoueur(jeu,i)));
		/*Affichage des pions*/
		affPion(i,get_position(getJoueur(jeu,i)));
		refresh();
	}
}

void affPlateau2()
{
	int row,col;
	/*Récupération des dimensions du terminal*/
	getmaxyx(stdscr,row,col);

	attron(COLOR_PAIR(5));
	mvprintw(row/2-9,col/2-19," ----- ----- ----- ----- ----- ----- ");
	mvprintw(row/2-8,col/2-19,"|  D  |  1  |  2  |  3  |  4  |  5  |");
	mvprintw(row/2-7,col/2-19,"|     |     |     |     |     |     |");
	mvprintw(row/2-6,col/2-19," ----- ----- ----- ----- ----- ----- ");
	mvprintw(row/2-5,col/2-19,"|  19 |  20 |  21 |  22 |  23 |  6  |");
	mvprintw(row/2-4,col/2-19,"|     |     |     |     |     |     |");
	mvprintw(row/2-3,col/2-19," ----- ----- ----- ----- ----- ----- ");
	mvprintw(row/2-2,col/2-19,"|  18 |  31 |  32 |  33 |  24 |  7  |");
	mvprintw(row/2-1,col/2-19,"|     |     |     |     |     |     |");
	mvprintw(row/2+0,col/2-19," ----- ----- ----- ----- ----- ----- ");
	mvprintw(row/2+1,col/2-19,"|  17 |  30 |Bilan|  34 |  25 |  8  |");
	mvprintw(row/2+2,col/2-19,"|     |     |     |     |     |     |");
	mvprintw(row/2+3,col/2-19," ----- ----- ----- ----- ----- ----- ");
	mvprintw(row/2+4,col/2-19,"|  16 |  29 |  28 |  27 |  26 |  9  |");
	mvprintw(row/2+5,col/2-19,"|     |     |     |     |     |     |");
	mvprintw(row/2+6,col/2-19," ----- ----- ----- ----- ----- ----- ");
	mvprintw(row/2+7,col/2-19,"|  15 |  14 |  13 |  12 |  11 |  10 |");
	mvprintw(row/2+8,col/2-19,"|     |     |     |     |     |     |");
	mvprintw(row/2+9,col/2-19," ----- ----- ----- ----- ----- ----- ");
	attron(COLOR_PAIR(4));
	mvprintw(row/2-9,col/2-18,"----- ----- ----- ----- ----- -----");
	mvprintw(row/2-8,col/2-19,"|");mvprintw(row/2-8,col/2+17,"|");
	mvprintw(row/2-7,col/2-19,"|");mvprintw(row/2-7,col/2+17,"|");
	mvprintw(row/2-6,col/2-18,"----- ----- ----- ----- -----");
	mvprintw(row/2-5,col/2-19,"|");mvprintw(row/2-5,col/2+11,"|");mvprintw(row/2-5,col/2+17,"|");
	mvprintw(row/2-4,col/2-19,"|");mvprintw(row/2-4,col/2+11,"|");mvprintw(row/2-4,col/2+17,"|");
	mvprintw(row/2-3,col/2-12,"----- ----- -----");
	mvprintw(row/2-2,col/2-19,"|");mvprintw(row/2-2,col/2-13,"|");mvprintw(row/2-2,col/2+5,"|");
	mvprintw(row/2-2,col/2+11,"|");mvprintw(row/2-2,col/2+17,"|");
	mvprintw(row/2-1,col/2-19,"|");mvprintw(row/2-1,col/2-13,"|");mvprintw(row/2-1,col/2+5,"|");
	mvprintw(row/2-1,col/2+11,"|");mvprintw(row/2-1,col/2+17,"|");
	mvprintw(row/2,col/2-6,"-----");
	mvprintw(row/2+1,col/2-19,"|");mvprintw(row/2+1,col/2-13,"|");mvprintw(row/2+1,col/2-7,"|");
	mvprintw(row/2+1,col/2+5,"|");mvprintw(row/2+1,col/2+11,"|");mvprintw(row/2+1,col/2+17,"|");
	mvprintw(row/2+2,col/2-19,"|");mvprintw(row/2+2,col/2-13,"|");mvprintw(row/2+2,col/2-7,"|");
	mvprintw(row/2+2,col/2+5,"|");mvprintw(row/2+2,col/2+11,"|");mvprintw(row/2+2,col/2+17,"|");
	mvprintw(row/2+3,col/2-6,"----- -----");
	mvprintw(row/2+4,col/2-19,"|");mvprintw(row/2+4,col/2-13,"|");
	mvprintw(row/2+4,col/2+11,"|");mvprintw(row/2+4,col/2+17,"|");
	mvprintw(row/2+5,col/2-19,"|");mvprintw(row/2+5,col/2-13,"|");
	mvprintw(row/2+5,col/2+11,"|");mvprintw(row/2+5,col/2+17,"|");
	mvprintw(row/2+6,col/2-12,"----- ----- ----- -----");
	mvprintw(row/2+7,col/2-19,"|");mvprintw(row/2+7,col/2+17,"|");
	mvprintw(row/2+8,col/2-19,"|");mvprintw(row/2+8,col/2+17,"|");
	mvprintw(row/2+9,col/2-18,"----- ----- ----- ----- ----- -----");
}

void affPion(const int numJ, const int position)
{
	/*Définition des variables*/
 	int row,col,x,y;
	char *pion[3];

	/*Récupération des dimensions du terminal*/
	getmaxyx(stdscr,row,col);

	pion[0]= "A";
	pion[1]= "B";
	pion[2]= "C";

	/*Fonction coordonnées*/
	x = retCoordX(position);
	y = retCoordY(position);

	/*Affichage du pion*/
	mvprintw(row/2+x,col/2+y+1+numJ,"%s",pion[numJ]);
}

int retCoordX(const int position)
{
	if(position < 6)
	{
		return -7;
	}
	else if(position == 6 || (position > 18 && position < 24))
	{
		return -4;
	}
	else if(position == 7 || (position > 30 && position < 34) || position == 24 || position == 18)
	{
		return -1;
	}
	else if(position > 9 && position < 16)
	{
		return 8;
	}
	else if(position == 9 || (position > 25 && position < 30) || position == 16)
	{
		return 5;
	}
	else
		return 2;
}

int retCoordY(const int position)
{
	if(position == 0 || (position < 20 && position > 14))
	{
		return -18;
	}
	else if(position > 4 && position < 11)
	{
		return 12;
	}
	else if(position == 1 || position == 14 || position == 20 || (position < 32 && position > 28))
	{
		return -12;
	}
	else if(position == 4 || position == 11 || (position < 27 && position > 22))
	{
		return 6;
	}
	else if(position == 3 || position == 22 || position == 33 || position == 34 || position == 27 || position == 12)
	{
		return 0;
	}
	else
		return -6;
}

int affMenu(CDKSCREEN *cdkscreen)
{
	/*Initialisation des variables*/
	char *titre[1];
	char *list[] = {"1 joueur","2 joueurs","3 joueurs"};
	int choix;

	/*Initialisation CDK*/
	CDKLABEL *monlabel;
	CDKSCROLL *liste;

	/*Titre*/
	titre[0]= "</56>STUDENT SURVIVOR<!56>";

	/*Affichage titre*/
	monlabel = newCDKLabel(cdkscreen,CENTER,TOP,titre,1,TRUE,FALSE);

	/*Affichage choix nombre joueur*/
	liste = newCDKScroll (cdkscreen,CENTER,CENTER,RIGHT,5,30,"Bienvenue sur Student Survivor!!",list,3,FALSE,A_REVERSE,TRUE,FALSE);

	refreshCDKScreen (cdkscreen);

	while(liste->exitType != vNORMAL)
	{
		choix = activateCDKScroll (liste, 0);
	}

	destroyCDKLabel (monlabel);
	destroyCDKScroll (liste);
	
	/*Renvoie le nombre de joueur*/
	return choix+1;
}

int testDeuxDes(CDKSCREEN * cdkscreen, Jeu * jeu, const int numJ)
{
	int c, des, posC;
	posC = get_postriche(get_bonus_joueur(getJoueur(jeu,numJ)),"Sandwich");
	if(posC != 42)
	{
		attron(COLOR_PAIR(numJ+1));
		mvprintw(4,1,"Tu peux lancer deux dés");
		mvprintw(5,1,"Appuie sur B pour utiliser ton bonus");
		affScore(jeu);
		do
		{
			c = getch();
		}
		while(c != 'd' && c != 'b' && c != 27);
		if(c == 'b')
		{
			des = joueurUnTour(jeu,numJ);
			clear();
			affScore(jeu);
			attron(COLOR_PAIR(numJ+1));
			mvprintw(3,1,"Vous avez fait %d... Place au second lancé",des);
			supp_triche(get_bonus_joueur(getJoueur(jeu,numJ)),posC);
			c = getch();
		}
	}
	else
	{
		affScore(jeu);
		do
		{
			c = getch();
		}
		while(c != 'd' && c != 27);
	}
	return c;
}

int verifQuitterPartie(CDKSCREEN *cdkscreen, const char c)
{
	if(c == 27)
	{	
		
		/*Initialisation CDK*/
		CDKLABEL *monlabel;
		char *areYouSure[1];
		int d;

		/*wclear(win);*/
		areYouSure[0] = "ETES-VOUS SUR DE VOULOIR QUITTER? (y) ou (n)";
		
		/*Affichage titre*/
		monlabel = newCDKLabel(cdkscreen,CENTER,CENTER,areYouSure,1,TRUE,TRUE);

		refreshCDKScreen (cdkscreen);

		d = getch();
		while(d != 'y' && d != 'n')
			d = getch();
		if(d == 'n')
		{
			destroyCDKLabel (monlabel);
			return 1;
		}
		else
		{
			destroyCDKLabel (monlabel);
			return 0;
		}
	}
	else return 1;
}

/*Trop d'allocation mémoire
void affPlateau(CDKSCREEN *cdkscreen, CDKLABEL *plateau, CDKLABEL *montitre, CDKLABEL *monscore, Jeu * jeu)
{
	int i;
	char *h[19];
	char *titre[1];
	int nbrLignes = jeu->nbrJ+1;
	char *score[nbrLignes];

	score[0] = "</56>    Score :    <!56>";
	for(i=0;i<jeu->nbrJ;i++)
	{
		score[i+1] = " ";
	}

	titre[0]= "</56>STUDENT SURVIVOR<!56>";

	 h[0]= "</32></B> ----- ----- ----- ----- ----- ----- <!B><!32>";
	 h[1]= "</32></B>|<!B><!32>  D  </32>|<!32>  1  </64></B>|<!B><!64>  2  </64></B>|<!B><!64>  3  </64></B>|<!B><!64>  4  </64></B>|<!B><!64>  5  </32></B>|<!B><!32>";
	 h[2]= "</32></B>|<!B><!32>     </32>|<!32>     </64></B>|     |     |     |<!B><!64>     </32></B>|<!B><!32>";
	 h[3]= "</32></B> ----- ----- ----- ----- -----<!B><!32> </64></B>-----<!B><!64> ";
	 h[4]= "</32></B>|<!B><!32>  19 </64></B>|<!B><!64>  20 </64></B>|<!B><!64>  21 </64></B>|<!B><!64>  22 </64></B>|<!B><!64>  23 </32></B>|<!B><!32>  6  </32></B>|<!B><!32>";
	 h[5]= "</32></B>|<!B><!32>     </64></B>|     |     |     |<!B><!64>     </32></B>|<!B><!32>     </32></B>|<!B><!32>";
	 h[6]= " </64></B>-----<!B><!64> </32></B>----- ----- -----<!B><!32> </64></B>----- -----<!B><!64> ";
	 h[7]= "</32></B>|<!B><!32>  18 </32></B>|<!B><!32>  31 </64></B>|<!B><!64>  32 </64></B>|<!B><!64>  33 </32></B>|<!B><!32>  24 </32></B>|<!B><!32>  7  </32></B>|<!B><!32>";
	 h[8]= "</32></B>|<!B><!32>     </32></B>|<!B><!32>     </64></B>|     |<!B><!64>     </32></B>|<!B><!32>     </32></B>|<!B><!32>     </32></B>|<!B><!32>";
	 h[9]= " </64></B>----- -----<!B><!64> </32></B>-----<!B><!32> </64></B>----- ----- -----<!B><!64> ";
	h[10]= "</32></B>|<!B><!32>  17 </32></B>|<!B><!32>  30 </32></B>|<!B><!32>Bilan</32>|<!32>  34 </32></B>|<!B><!32>  25 </32></B>|<!B><!32>  8  </32></B>|<!B><!32>";
	h[11]= "</32></B>|<!B><!32>     </32></B>|<!B><!32>     </32></B>|<!B><!32>     </32>|<!32>     </32></B>|<!B><!32>     </32></B>|<!B><!32>     </32></B>|<!B><!32>";
	h[12]= " </64></B>----- -----<!B><!64> </32></B>----- -----<!B><!32> </64></B>----- -----<!B><!64> ";
	h[13]= "</32></B>|<!B><!32>  16 </32></B>|<!B><!32>  29 </64></B>|<!B><!64>  28 </64></B>|<!B><!64>  27 </64></B>|<!B><!64>  26 </32></B>|<!B><!32>  9  </32></B>|<!B><!32>";
	h[14]= "</32></B>|<!B><!32>     </32></B>|<!B><!32>     </64></B>|     |     |<!B><!64>     </32></B>|<!B><!32>     </32></B>|<!B><!32>";
	h[15]= " </64></B>-----<!B><!64> </32></B>----- ----- ----- -----<!B><!32> </64></B>-----<!B><!64> ";
	h[16]= "</32></B>|<!B><!32>  15 </64></B>|<!B><!64>  14 </64></B>|<!B><!64>  13 </64></B>|<!B><!64>  12 </64></B>|<!B><!64>  11 </64></B>|<!B><!64>  10 </32></B>|<!B><!32>";
	h[17]= "</32></B>|<!B><!32>     </64></B>|     |     |     |     |<!B><!64>     </32></B>|<!B><!32>";
	h[18]= "</32></B> ----- ----- ----- ----- ----- ----- <!B><!32>";

	monscore = newCDKLabel(cdkscreen,RIGHT,TOP,score,nbrLignes,TRUE,FALSE);

	montitre = newCDKLabel(cdkscreen,CENTER,TOP,titre,1,TRUE,FALSE);
	plateau = newCDKLabel(cdkscreen,CENTER,CENTER,h,19,TRUE,FALSE);
	refreshCDKScreen(cdkscreen);
}*/
